<?php

//
//  Copyright (C) 2004-2006  Autodesk, Inc.
//
//  This library is free software; you can redistribute it and/or
//  modify it under the terms of version 2.1 of the GNU Lesser
//  General Public License as published by the Free Software Foundation.
//
//  This library is distributed in the hope that it will be useful,
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
//  Lesser General Public License for more details.
//
//  You should have received a copy of the GNU Lesser General Public
//  License along with this library; if not, write to the Free Software
//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
//

?>

<?php
require_once("config.php");
require_once("utils.php");
require_once(ROOT_DIR_CLASES.'/cCliente.php'); 
require_once(ROOT_DIR_CLASES.'/Movil.php');
require_once(ROOT_DIR_CLASES.'/posiMovilReduce.php');
require_once 'JSON.php';

class QueryPosiSelect
{
	private $args = null;
	

	function __construct($args)
	{
		$this->args = $args;
	}

	function Execute()
	{
		$result = array();
		$cuenta = $this->args['CUENTA'];
		$historicoId = $this->args['HISTORICOID'];
		$tabla = $this->args['TABLA'];
		$searchAlfa = $this->args['SEARCHALFA'];
		
		$movil = new Movil();
        $datosIdentificacion = BykomCliente::Consulta_Datos_Identificacion_Avl($cuenta);
        
   		$movil->movil = $datosIdentificacion->campo('Movil',0);
   		$movil->descripcion = $datosIdentificacion->campo('Descripcion',0);
   		$movil->identificador = $datosIdentificacion->campo('Identificador',0);
   		$movil->marca = $datosIdentificacion->campo('Marca',0);
   		$movil->modelo = $datosIdentificacion->campo('Modelo',0);
   		$movil-> patente = $datosIdentificacion->campo('Patente',0);
        array_push($result, $movil);
		//--------------------------------------
		$datosPosicionamiento = BykomCliente::Consulta_PosicionSeleccionada_Avl($historicoId,$tabla);

		$posiMovilReduce = new posiMovilReduce();
		$posiMovilReduce->longitud = quitCero($datosPosicionamiento->campo('longitud',0));
        $posiMovilReduce->latitud = quitCero($datosPosicionamiento->campo('latitud',0));
        $posiMovilReduce->velocidad = $datosPosicionamiento->campo('velocidad',0);
        $posiMovilReduce->sentido = $datosPosicionamiento->campo('sentido',0);
        $posiMovilReduce->sentidoPalabra = BykomCliente::Obtener_Palabra_Sentido($sentido);
        $posiMovilReduce->satelites = $datosPosicionamiento->campo('satelites',0);
        $posiMovilReduce->direccionAbrev = BykomCliente::Obtener_Direccion_Abreviada($datosPosicionamiento->campo('direccion',0));
        $posiMovilReduce->evento = $datosPosicionamiento->campo('evento',0);
        $posiMovilReduce->validez = BykomCliente::Obtener_Palabra_Validez($datosPosicionamiento->campo('validez',0));
        $posiMovilReduce->fechaMensaje = $datosPosicionamiento->campo('fechaMensaje',0);
        $posiMovilReduce->statusZona = $datosPosicionamiento->campo('statusZona',0);
       	if ($posiMovilReduce->statusZona == 390) {
        	$posiMovilReduce->zonaProhibida = $datosPosicionamiento->campo('zonaProhibida',0);
        }
        if ($searchAlfa == '1') {
			$posiMovilReduce->codigoAlfa = $datosPosicionamiento->campo('codigoAlfa',0);
        	$alfaAuxNombre = BykomCliente::Obtener_Descripcion_Alfa($datosPosicionamiento->campo('codigoAlfa',0));
			$posiMovilReduce->codigoAlfaName = htmlentities($alfaAuxNombre->campo('NOMBRE',0));
        }
        array_push($result, $posiMovilReduce);
		return $result;
	}
}
?>